Welcome to the 3D Mapping Viewer SDK for .NET
=============================================
Version: 18.1.4
Date: 2018.08.02


About
-----
The 3D Mapping Viewer is an HTML5 javascript application that runs in a web browser.
The embedded web browser used in this SDK is the WinForms version of CEFSharp, a .NET wrapper for the Chromium Embedded Framework, see https://github.com/cefsharp/CefSharp
Interaction with the javascript viewer is provided by .NET wrapper classes in the "Viewer3DM.dll" reference library.

The SDK was developed using Visual Studio Express 2017 on a Windows 10 Pro computer.


File Content
------------
The two "bin" folders contain the binary files that are needed at runtime, these include the binary files of the CEFSharp framework.
The files need to be put in the output "bin" (or "bin\Debug" or "bin\Release") directory of your application.
Be sure to use the right processor architecture, either x86/32 bit or x64/64 bit.
The "Viewer3DM.dll" library contains the .NET SDK classes. Add this library as a reference to your Visual Studio project.

The "SampleApplication" folder contains a small sample application that uses the SDK. The main purpose of it is to test the Chromium Embedded Framework and the startup of the 3D Mapping Viewer.
Open the "SampleApplication.sln" solution in Visual Studio.
Build the application and run it. Press the "start" button in the top-left corner and wait a few seconds for the javascript viewer to load.
The javascript application is several megabyte in size, so it takes some time to download and start.
Login to your 3D Mapping cloud or publisher account to start viewing resources.
Open a "Mobile Mapping" resource, like "BE Ghent (South) by Image-V" from the Sample Data.
You can select a test method from the dropdown list and press the "test" button to run the selected test.
Some tests have output that shows in the textbox at the bottom. Have a look at the source code (in the Form1.cs file) to see what each test does.
Run the "About:Viewer" test to see the version numbers and build dates of the CS (csharp) and JS (javascript) SDK runtimes.


Documentation
-------------
Documentation for the SDK can be found online at:
https://orbitgt.com/kb/1814/developer/index
(a login to the knowledge base is required, send an email to sales@orbitgt.com to request access)
Follow the link to the Generic API Reference to see the available classes and methods.
The "Viewer3DM" class is the main class to interface with.


Toolbox and Designer
--------------------
The "Viewer3DM.dll" library contains a WinForm user-control called "SDKViewerComponent3DM" (in namespace "Mapping3D").
You can add it to the Visual Studio Toolbox by selection "Choose Items..." from the toolbox context menu.
Select the "Browse" button to navigate to the "Viewer3DM.dll" library (32-bit, same as Visual Studio) and select it.
An "SDKViewerComponent3DM" item should have been added to the ".NET Framework Components" list.
You can now drag the item from the toolbox to your application form in the form designer of Visual Studio.


Starting the viewer
-------------------
To start the 3D mapping viewer call the "InitializeViewer" method on the SDKViewerComponent3DM user-control instance. The method signature is:
> public void InitializeViewer(SDKViewerApplication3DM application, AMap<object> options);

Make sure your application implements the SDKViewerApplication3DM interface. It has two callback methods:
> public string GetApplicationName();
Use this to return the name of the application you have made.
> public void ViewerIsReady(SDKViewer3DM viewer);
When this callback method has been called the viewer is ready to accept commands.

The SDKViewer3DM class implements all Viewer3DM methods as described in the documentation.


SDK Updates
-----------
When installing an update of the SDK be sure to replace all binary files in the "bin\Debug" and "bin\Release" directories with the new version.
Also replace the "Viewer3DM.dll" reference in your application project with the new version.


CEFSharp
--------
The CEFSharp framework needs .NET version 4.5.2 or later.
Also required is the Visual C++ 2013 Runtime.
For a detailled list, have a look at: https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#Runtime_dependencies


Support
-------
For support visit the support section of our help center at: https://3dmapping.cloud/support/
If you have questions you can contact us at: https://3dmapping.cloud/contact/
